import java.util.Collections;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.Queue;

public class QueueTest {


    // 不改变队列
   private static void printQueue01(Queue<Integer> queue){
       //   通过迭代器获取队列
       Iterator<Integer> iterator = queue.iterator();
       while (iterator.hasNext()) {
           System.out.print(iterator.next()+" ");
           // 注意：这里没有调用iterator.remove()，因为我们不想改变队列
       }
       System.out.println();
       System.out.println("----------------------");
   }

    private static void printQueue02(Queue<Integer> queue){
        // 出队列
        while (!queue.isEmpty()) {
            System.out.print(queue.poll()+" ");
        }
    }

    public static void main(String[] args) {
        Queue<Integer> queue = new LinkedList<>();

        queue.add(2);
        queue.add(2);
        queue.add(3);
        queue.add(1);
        queue.add(5);
        // 检查队列是否为空，输出：false
        System.out.println(queue.isEmpty());

        // 获取队列的大小，输出：5
        System.out.println(queue.size());

        // 输出队列的第一个元素
        System.out.print("获取队列的队头元素：");
        System.out.println(queue.peek());

        // 输出队列
        printQueue01(queue);

        // 输出队列
        printQueue02(queue);


    }
}
